home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 59193 / 59193.xpi / chrome / manman89grablink.jar / content / overlay.js < prev    next >
Text File  |  2010-01-23  |  3KB  |  129 lines

  1. var manman89grablink =
  2. {
  3.     upload_selected: function()
  4.     {
  5.     var text = '';
  6.     var textWindow = document.commandDispatcher.focusedWindow;
  7.     var node = document.commandDispatcher.focusedElement;
  8.     if (node != undefined && node != null){
  9.         var nodeLocalName = node.localName.toUpperCase();    
  10.         if ((nodeLocalName == "TEXTAREA") || (nodeLocalName == "INPUT" && (node.type.toUpperCase() == "TEXT" || node.type.toUpperCase() == "FILE")) || nodeLocalName == "TEXTBOX" ) {                        
  11.             text = node.value.substring(node.selectionStart, node.selectionEnd);
  12.         }else{
  13.             text = textWindow.getSelection();  
  14.         }
  15.     }else{
  16.         text = textWindow.getSelection();
  17.     }
  18.     
  19.     window.openDialog(
  20.     "chrome://manman89grablink/content/resultDialog.xul", 
  21.     "Your Link :",
  22.     "chrome,modal,dialog,centerscreen,dependent",text);
  23.  
  24.   },
  25.   
  26.   isset_no_url: function(){
  27.     var send = false;
  28.     var prefs = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
  29.     if (prefs.getPrefType("manman89grablink.no_url") == prefs.PREF_BOOL){
  30.         send = prefs.getBoolPref("manman89grablink.no_url");
  31.     }
  32.     return send;
  33.   },
  34.   
  35.   go_to_site: function(site_url) {
  36.     var myTabRef = getBrowser().addTab(site_url);
  37.     getBrowser().selectedTab = myTabRef;
  38.   },
  39.   
  40.   set_menu_event: function(event) {
  41.     var manman89grablinkmenu = document.getElementById('context-manman89grablink');
  42.     manman89grablinkmenu.setAttribute('oncommand', event);
  43.   },
  44.   
  45.   set_menu_caption: function(caption) {
  46.     var manman89grablinkmenu = document.getElementById('context-manman89grablink');
  47.     manman89grablinkmenu.setAttribute('label', caption);
  48.   },
  49.  
  50.       GetLinks: function(bSelected) {
  51.         var focusedWindow = document.commandDispatcher.focusedWindow;
  52.         var focusedDoc = document.commandDispatcher.focusedWindow.document;
  53.         var argc = manman89grablink.GetLinks.arguments.length;
  54.         var argv = manman89grablink.GetLinks.arguments;
  55.         var reMask;
  56.  
  57.         var selLinks = new Array();
  58.         var i, j = 0;
  59.  
  60.         if (argc > 1)
  61.             reMask = new RegExp(argv[1], 'i');
  62.  
  63.         for (i = 0;i < focusedDoc.links.length;i++) {
  64.             if ((!bSelected || focusedWindow.getSelection().containsNode(focusedDoc.links[i], true)) &&
  65.                 (argc <= 1 || focusedDoc.links[i].href.match(reMask)))
  66.             {
  67.                 selLinks[j] = focusedDoc.links[i].href;
  68.                 j++;
  69.             }
  70.         }
  71.  
  72.         return selLinks;
  73.     },
  74.     
  75.     EOL: function()
  76.     {
  77.         platform = navigator.platform.toLowerCase();
  78.         if (platform.indexOf('win') != -1)
  79.         {
  80.             return "\r\n"; //CR LF
  81.         }
  82.         if (platform.indexOf('mac') != -1)
  83.         {
  84.             return "\r"; //CR
  85.         }
  86.         if(platform.indexOf('unix') != -1 || platform.indexOf('linux') != -1 || platform.indexOf('sun') != -1)
  87.         {
  88.             return "\n"; //LF
  89.         }
  90.     },
  91.     
  92.     OnCommand: function(cmd)
  93.     {
  94.         var links;
  95.         var i;
  96.  
  97.         switch (cmd) {
  98.             case 'all':
  99.                 links = manman89grablink.GetLinks(false);
  100.                 break;
  101.             case 'sel':
  102.                 links = manman89grablink.GetLinks(true);
  103.                 break;
  104.             default:
  105.                 return;
  106.         }
  107.  
  108.         if (links.length == 0){return;}
  109.  
  110.         var copytext = '';
  111.         var copytext1='';
  112.         
  113.         for (i = 0;i < links.length;i++)
  114.         {
  115.             copytext += links[i] + manman89grablink.EOL();
  116.             if (copytext1.indexOf(links[i]+manman89grablink.EOL())=="-1")
  117.             {
  118.             copytext1 += links[i] + manman89grablink.EOL();
  119.             }
  120.         }
  121.         
  122.         copytext=copytext+String.fromCharCode(255)+"<nguyenvanmanscanlink2010>"+String.fromCharCode(255)+copytext1;
  123.         
  124.         window.openDialog(
  125.         "chrome://manman89grablink/content/resultDialog.xul", 
  126.         "Your Link :",
  127.         "chrome,modal,dialog,centerscreen,dependent",copytext);
  128.     },
  129.  };